package com.xydtech.ecard.merchant.mapper;

import com.xydtech.ecard.merchant.domain.EcardMerchantReservationTask;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电子名片商户预约任务Mapper接口
 *
 * @author xydtech
 * @date 2023-08-05
 */
public interface EcardMerchantReservationTaskMapper
{
    /**
     * 查询电子名片商户预约任务
     *
     * @param id 电子名片商户预约任务主键
     * @return 电子名片商户预约任务
     */
    public EcardMerchantReservationTask selectEcardMerchantReservationTaskById(Long id);

    /**
     * 查询电子名片商户预约任务列表
     *
     * @param ecardMerchantReservationTask 电子名片商户预约任务
     * @return 电子名片商户预约任务集合
     */
    public List<EcardMerchantReservationTask> selectEcardMerchantReservationTaskList(EcardMerchantReservationTask ecardMerchantReservationTask);

    /**
     * 新增电子名片商户预约任务
     *
     * @param ecardMerchantReservationTask 电子名片商户预约任务
     * @return 结果
     */
    public int insertEcardMerchantReservationTask(EcardMerchantReservationTask ecardMerchantReservationTask);

    /**
     * 修改电子名片商户预约任务
     *
     * @param ecardMerchantReservationTask 电子名片商户预约任务
     * @return 结果
     */
    public int updateEcardMerchantReservationTask(EcardMerchantReservationTask ecardMerchantReservationTask);

    /**
     * 删除电子名片商户预约任务
     *
     * @param id 电子名片商户预约任务主键
     * @return 结果
     */
    public int deleteEcardMerchantReservationTaskById(Long id);

    /**
     * 批量删除电子名片商户预约任务
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEcardMerchantReservationTaskByIds(String[] ids);

    /***
     * 根据商户编号查询未处理的商户预约任务
     * @param merchantId
     * @return: com.xydtech.ecard.ecard.domain.EcardApiMerchantReservationTask
     * @Author: lin
     * @Date: 2023/8/5 16:55
     */
    List<EcardMerchantReservationTask> getMerchantReservationTaskByMerchantId(@Param("merchantId") Long merchantId,
                                                                              @Param("merchantType") String merchantType);

    /**
     * 批量修改商户预约任务
     * @param ecardMerchantReservationTaskList
     * @return
     */
    int batchUpdateEcardMerchantReservationTask(List<EcardMerchantReservationTask> ecardMerchantReservationTaskList);
}
